草庐IT

TypeScript 运算符

全部标签

javascript - TypeScript - 模块在运行时未定义

我不明白我做错了什么。我在VS2012中创建了一个TypeScript项目,并在名为“Physics”的子目录中创建了一个名为“Vector.ts”的文件://ModulemodulePhysics{//ClassexportclassVector{constructor(publicx:number){}}}此外,我还有以下app.ts文件:///window.onload=()=>{varvector=newPhysics.Vector(6);};项目编译成功,但是当我启动它时,出现以下异常:0x800a1391-JavaScriptruntimeerror:'Physics'is

javascript - TypeScript 在 WebStorm 7 中将所有 ts 文件编译为单个 JavaScript 文件

我的项目中有很多.ts文件。WebStorm将每个.ts文件构建为一个js文件。但我不想要那样。我有一个app.ts文件,所有其他.ts文件都将在该app.ts文件中构建。我如何在WebStorm7中做到这一点?CLI模式下有解决方案,但如何在WebStorm中实现?tsc--outapp.jsmain.tsapp.tsa.tsb.ts或者有更好的方法吗?回答刚刚在EditWatcher的参数部分添加了这一行--sourcemap$FileName$--outyour-main.js 最佳答案 您可以在Typescript文件观察器

javascript - 带有Typescript的Angular2,如何在延迟加载模块中使用Plupload CDN脚本文件?

我想在Angular2组件中使用Plupload并从CDN访问PluploadJavaScript文件。我希望它特定于一个组件,以便在不需要时不会下载它-我希望它位于延迟加载的模块中。我怎样才能做到这一点?现在在此页面上有完整的答案!这个任务的结果如下:将Plupload与Angular2和TypeScript结合使用的示例如何在Angular2中从CDN延迟加载脚本如何在惰性加载模块中使用Plupload的示例如何在Angular2中使用延迟加载脚本(请参阅编辑历史,了解曾经构成此问题的丑陋细节。) 最佳答案 以下概述了在从CDN

javascript - for in 循环和删除运算符

我注意到,在枚举对象的属性时,似乎在循环开始时拍摄当前属性的快照,然后迭代快照。我有这种感觉,因为以下内容不会造成无限循环:varobj={a:0,b:0},i=0;for(varkinobj){obj[i++]=0;}alert(i)//2演示http://jsfiddle.net/kqzLG/上面的代码演示了我正在添加新属性,但是新属性不会被枚举。但是,删除运算符似乎违背了我的快照理论。这是相同的代码,但在枚举属性之前将其删除。varobj={a:0,b:0},i=0;for(varkinobj){i++;deleteobj.b;}alert(i)//1演示http://jsfid

javascript - React TypeScript HoC - 将组件作为 Prop 传递

遵循本教程:https://reacttraining.com/react-router/web/example/auth-workflow.尝试重现代码:constPrivateRoute=({component:Component,...rest})=>(fakeAuth.isAuthenticated?():()}/>);在typescript中:import*asReactfrom'react';import{Route,RouterProps}from'react-router';interfacePropsextendsRouterProps{component:React

javascript - 如果 esModuleInterop 为 true 配置 TypeScript 转译,我是否需要显式 allowSyntheticDefaultImports?

我需要确认以下理论。根据TSdocs,有两个选项可以在tsconfig.json中设置。--allowSyntheticDefaultImports:允许从没有默认导出的模块中进行默认导入。这不会影响代码发出,只会影响类型检查。--esModuleInterop:发出__importStar和__importDefault助手以实现运行时babel生态系统兼容性并启用--allowSyntheticDefaultImports以实现类型系统兼容性。当我四处搜索时,我看到两者都设置为true(至少就我的目标行为而言)。然而,就我对文档、TS和JS的理解而言,同时使用它们是没有意义的。我认

javascript - JavaScript 中最快的模幂运算

我的问题是在JavaScript中快速计算(g^x)modp,其中^是求幂,mod是模运算。所有输入都是非负整数,x大约有256位,p是2048位的质数,g最多可以有2048位。我发现的大多数可以在JavaScript中执行此操作的软件似乎都使用JavaScriptBigInt库(http://www.leemon.com/crypto/BigInt.html)。在我的慢速浏览器(带有SpiderMonkey的Firefox3.0)上,用这个库进行一次这样大小的幂运算大约需要9秒。我正在寻找至少快10倍的解决方案。对于2048位数字,使用平方和乘法(通过平方求幂,http://en.w

javascript - 类型错误 : is not a function typescript class

我在typescript类中遇到以下错误,无法理解原因。我所做的只是尝试调用传递token的辅助函数。错误:posterror:TypeError:this.storeTokenisnotafunction(…)类:/***AuthenticationService:**Containsthehttprequestlogictoauthenticatethe*user.*/import{Injectable}from'@angular/core';import{Http,Response,Headers,RequestOptions}from'@angular/http';import

javascript - 带有比较运算符的 jQuery DataTables 过滤列

我一直在使用带有过滤器插件的DataTablesjQuery插件,它很棒。但是,我想知道是否可以在表底部的过滤器输入中的值之前使用比较运算符(例如''or'')按行过滤表列。http://www.datatables.net/plug-ins/filtering#functions有一种方法可以使用接受最大值和最小值的输入字段按范围进行过滤。但是,我想放弃添加两个额外的输入字段并以某种方式解析此列的输入。我要过滤的行只填充了整数(年龄)值。欲望行为的一些例子:inputresults20greaterthan2020-80between20and8020not20有没有人有修改过滤器插

javascript - 事件类型字段的 Typescript 事件处理函数 - 上下文不正确

这是来自jquery.d.ts的jquery接口(interface):exportinterfaceIDialogEventextendsDialogEvent{(event:Event,ui:DialogUIParams):void;}这是我的自定义界面,模仿了jquery.d.ts的DialogOptions界面的部分功能:exportinterfaceIDialogOptions{open:IDialogEvent;}exportclassDialogClassimplementsIDialogOptions{//Dialogoptionspublicopen:IDialogE